package com.zzh.lib.recorder.def;


import com.zzh.lib.recorder.pcm.PCMRecorder;

/**
 * Created by zzh on 2024/1/5.
 *
 * @date: 2024/1/5 16:13
 * @email: zzh_hz@126.com
 * @author: zzh
 * @description: com.zzh.lib.recorder.def
 */
public interface OnRecorderProcessListener {

    /**
     * AudioRecord 类初始化之前调用。
     *
     * @param recorder IRecorder 实例
     */
    void onBeforeInitAudioRecord(IRecorder recorder);

    /**
     * 录音数据回调
     *
     * @param recorder IRecorder 实例
     * @param buffer   录音数据
     * @param len      录音数据长度
     */
    void onProcess(PCMRecorder recorder, byte[] buffer, int len);

    /**
     * 音量变化
     *
     * @param volume 音量值
     */
    void volumeChange(double volume);

    /**
     * 初始化后，开始录音之前调用
     *
     * @param recorder IRecorder 实例
     */
    void onStart(PCMRecorder recorder);

    /**
     * 录音结束
     *
     * @param duration 录音时长
     */
    void onEnd(long duration);
}
